package battleco

import (
	"wails/schema/enums/battleenum"
)

// @schema_export --ident=schema --json --config=目标排序
// @schema_go
// @cache_ts
// @alias 目标排序
type C目标排序 struct {
	// @alias 降序
	J降序 bool
}

// C目标排序_角度
// @schema_export --ident=schema --json --config=目标排序
// @schema_go
// @cache_ts
// @alias 目标排序_角度
type C目标排序_角度 struct {
	C目标排序

	// @alias 原点位置
	Y原点位置 *SEffectWhichLocation

	// @alias 指向位置
	Z指向位置 *SEffectWhichLocation
}

// C目标排序_充能
// @schema_export --ident=schema --json --config=目标排序
// @schema_go
// @cache_ts
// @alias 目标排序_充能
type C目标排序_充能 struct {
	C目标排序

	// @alias 标识
	B标识 string

	// @alias 位置
	// 充能位置
	W位置 battleenum.ChargeLocation

	// @alias 值类型
	Z值类型 battleenum.TargetSortChargeValue
}

// C目标排序_冷却
// @schema_export --ident=schema --json --config=目标排序
// @schema_go
// @cache_ts
// @alias 目标排序_冷却
type C目标排序_冷却 struct {
	C目标排序

	// @alias 标识
	B标识 string

	// @alias 位置
	// 该冷却时间被应用到的位置。
	W位置 battleenum.CooldownLocation

	// @alias 值类型
	Z值类型 battleenum.TargetSortCooldownValue
}

// 按照距离，从小到大
// @schema_export --ident=schema --json --config=目标排序
// @schema_go
// @cache_ts
// @alias 目标排序_距离
type C目标排序_距离 struct {
	C目标排序

	// @alias 位置
	W位置 *SEffectWhichLocation
}

// 按照距离，从小到大
// @schema_export --ident=schema --json --config=目标排序
// @schema_go
// @cache_ts
// @alias 目标排序_距离队列中心
type C目标排序_距离队列中心 struct {
	C目标排序

	// @alias 偏移
	P偏移 int
}

// C目标排序_标记
// @schema_export --ident=schema --json --config=目标排序
// @schema_go
// @cache_ts
// @alias 目标排序_标记
type C目标排序_标记 struct {
	C目标排序

	// @alias 关联
	// 位置关联的编号
	G关联 string

	// @alias 位置
	W位置 battleenum.MarkerLocation

	// @alias 标记项目
	B标记项目 battleenum.B标记项目
}

// C目标排序_优先级
// @schema_export --ident=schema --json --config=目标排序
// @schema_go
// @cache_ts
// @alias 目标排序_优先级
type C目标排序_优先级 struct {
	C目标排序

	// @alias 值
	Value int
}

// C目标排序_优先级
// @schema_export --ident=schema --json --config=目标排序
// @schema_go
// @cache_ts
// @alias 目标排序_上次目标
type C目标排序_上次目标 struct {
	C目标排序
}

// C目标排序_随机
// @schema_export --ident=schema --json --config=目标排序
// @schema_go
// @cache_ts
// @alias 目标排序_随机
type C目标排序_随机 struct {
	C目标排序
}

// C目标排序_用户属性
// @schema_export --ident=schema --json --config=目标排序
// @schema_go
// @cache_ts
// @alias 目标排序_属性
type C目标排序_属性 struct {
	C目标排序

	// @alias 属性1
	S属性1 string
	// @alias 属性2
	S属性2 string
}

// C目标排序_活力
// @schema_export --ident=schema --json --config=目标排序
// @schema_go
// @cache_ts
// @alias 目标排序_活力
type C目标排序_活力 struct {
	C目标排序

	// @alias 活力值类型
	H活力值类型 battleenum.M目标排序活力值类型

	// @alias 活力类型
	H活力类型 battleenum.H活力类型
}
